/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package br.ufrn.engcomp.pds.helloopc.controle;

import br.ufrn.engcomp.pds.helloopc.modelo.dominio.Controlador;
import br.ufrn.engcomp.pds.helloopc.modelo.dominio.ServidorOPC;
import br.ufrn.engcomp.pds.helloopc.modelo.negocio.ExecutarControladorNegocio;
import br.ufrn.engcomp.pds.helloopc.modelo.negocio.excecao.NegocioException;
import br.ufrn.engcomp.pds.helloopc.visao.excecao.VisaoException;
import java.util.List;
import java.util.Map;

/**
 *
 * @author Felipe Rivas
 */
public class ExecutarControladorController {

    private ExecutarControladorNegocio negocio = new ExecutarControladorNegocio();

    /*public double getResultado() {
        return negocio.getResultado();
    }

    public double getValor() {
        return negocio.getValor();
    }

    public void setValor(double valor) {
        negocio.setValor(valor);
    }

    public String getNome(){
        return negocio.getNome();
    }

    public void setNome(String nome) {
       negocio.setNome(nome);
    }

    public String getLocalizacao(){
        return negocio.getLocalizacao();
    }

    public void setLocalizacao(String localizacao){
        negocio.setLocalizacao(localizacao);
    }*/

    public void executar(Controlador controlador) {
        negocio.executar(controlador);
    }

    /*public double getKd() {
        return negocio.getKd();
    }

    public void setKd(double kd) {
        negocio.setKd(kd);
    }

    public double getKi() {
        return negocio.getKi();
    }

    public void setKi(double ki) {
        negocio.setKi(ki);
    }

    public double getKp() {
        return negocio.getKp();
    }

    public void setKp(double kp) {
        negocio.getKp();
    }

    public double getReferencia() {
        return negocio.getReferencia();
    }

    public void setReferencia(double referencia) {
        negocio.setReferencia(referencia);
    }*/

    public List<Controlador> listarControladores() throws VisaoException {
        try {
            return negocio.listarControladores();
        } catch(NegocioException nex) {
            throw new VisaoException(nex.getMessage());
        }
    }

    public List<Controlador> sincronizarControladores(ServidorOPC servidorOPC) {
        return negocio.sincronizarControladores(servidorOPC);
    }

    public Map<String, Object> getValoresEntrada() {
        return negocio.getValoresEntrada();
    }

    public Map<String, Object> getValoresSaida() {
        return negocio.getValoresSaida();
    }

    public boolean emExecucao() {
        return negocio.emExecucao();
    }

    public void parar() {
        negocio.parar();
    }

    public void colocarEmModoAutomatico() {
        negocio.colocarEmModoAutomatico();
    }

    public void colocaEmModoManual() {
        negocio.colocarEmModoManual();
    }

    public void setValoresSaida(Map<String, Object> valoresSaida) {
        negocio.setValoresSaida(valoresSaida);
    }

}
